home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / libnet.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-18  |  4.2 KB  |  133 lines

  1. /*
  2.  *  $Id: libnet.h.in,v 1.5 2004/01/17 07:51:19 mike Exp $
  3.  *
  4.  *  libnet.h - Network routine library header file
  5.  *
  6.  *  Copyright (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
  7.  *  All rights reserved.
  8.  *
  9.  * Redistribution and use in source and binary forms, with or without
  10.  * modification, are permitted provided that the following conditions
  11.  * are met:
  12.  * 1. Redistributions of source code must retain the above copyright
  13.  *    notice, this list of conditions and the following disclaimer.
  14.  * 2. Redistributions in binary form must reproduce the above copyright
  15.  *    notice, this list of conditions and the following disclaimer in the
  16.  *    documentation and/or other materials provided with the distribution.
  17.  *
  18.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  19.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  22.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  23.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  25.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  26.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  27.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28.  * SUCH DAMAGE.
  29.  *
  30.  */
  31.  
  32. #ifndef __LIBNET_H
  33. #define __LIBNET_H
  34. /**
  35.  * @file libnet.h
  36.  * @brief toplevel libnet header file
  37.  */
  38.  
  39. /** 
  40.  * @mainpage Libnet Packet Assembly Library
  41.  *
  42.  * @section intro Overview
  43.  *
  44.  * Libnet is a high-level API (toolkit) allowing the application programmer to 
  45.  * construct and inject network packets. It provides a portable and simplified 
  46.  * interface for low-level network packet shaping, handling and injection. 
  47.  * Libnet hides much of the tedium of packet creation from the application 
  48.  * programmer such as multiplexing, buffer management, arcane packet header 
  49.  * information, byte-ordering, OS-dependent issues, and much more. Libnet 
  50.  * features portable packet creation interfaces at the IP layer and link layer,
  51.  * as well as a host of supplementary and complementary functionality. Using 
  52.  * libnet, quick and simple packet assembly applications can be whipped up with
  53.  * little effort. With a bit more time, more complex programs can be written 
  54.  * (Traceroute and ping were easily rewritten using libnet and 
  55.  * <a href="www.tcpdump.org">libpcap</a>).
  56.  */ 
  57.  
  58. #ifdef __cplusplus
  59. extern "C" {
  60. #endif
  61.  
  62. #define _GNU_SOURCE
  63. #include <stdio.h>
  64. #include <string.h>
  65. #include <unistd.h>
  66. #include <fcntl.h>
  67. #include <signal.h>
  68. #include <stdlib.h>
  69. #if !defined(__WIN32__)
  70. #include <sys/ioctl.h>
  71. #endif /* __WIN32__ */
  72. #if defined(HAVE_SYS_SOCKIO_H) && !defined(SIOCGIFADDR)
  73. #include <sys/sockio.h>
  74. #endif
  75. #include <sys/stat.h>
  76. #include <sys/types.h>
  77. #include <ctype.h>
  78. #if !defined(__WIN32__)
  79. #include <sys/socket.h>
  80. #include <netinet/in.h>
  81. #include <netinet/in_systm.h>
  82. #include <netinet/ip.h>
  83. #include <net/if.h>
  84. #else /* __WIN32__ */
  85. #if (__CYGWIN__)
  86. #include <sys/socket.h>
  87. #endif
  88. #include <ws2tcpip.h>
  89. #include <windows.h>
  90. #include <winsock2.h>
  91. #include <win32/in_systm.h>
  92. #endif /* __WIN32__ */
  93. #if !(__linux__) && !(__WIN32__) && !(__APPLE__) && !(__CYGWIN__)
  94. #include <netinet/ip_var.h>
  95. #else   /* __linux__ */
  96. #if (HAVE_NET_ETHERNET_H)
  97. #include <net/ethernet.h>
  98. #endif  /* HAVE_NET_ETHERNET_H */
  99. #endif  /* __linux__ */
  100. #if !defined(__WIN32__)
  101. #include <netinet/tcp.h>
  102. #include <netinet/udp.h>
  103. #if (__linux__) && !(__GLIBC__)
  104. /* we get multiple definitions of IGMP_AGE_THRESHOLD if we include netinet */
  105. #include <linux/igmp.h>
  106. #else
  107. #include <netinet/igmp.h>
  108. #endif
  109. #include <arpa/inet.h>
  110. #include <sys/time.h>
  111. #include <netdb.h>
  112. #endif /* __WIN32__ */
  113. #include <errno.h>
  114. #include <stdarg.h>
  115.  
  116. #define LIBNET_VERSION  "1.1.2.1"
  117. #define LIBNET_LIL_ENDIAN 1
  118.  
  119. #include "./libnet/libnet-types.h"
  120. #include "./libnet/libnet-macros.h"
  121. #include "./libnet/libnet-headers.h"
  122. #include "./libnet/libnet-structures.h"
  123. #include "./libnet/libnet-asn1.h"
  124. #include "./libnet/libnet-functions.h"
  125.  
  126. #ifdef __cplusplus
  127. }
  128. #endif
  129.  
  130. #endif  /* __LIBNET_H */
  131.  
  132. /* EOF */
  133.